The FAMOOS Object - Oriented Reengineering Handbook

نویسندگان

  • Holger Bär
  • Markus Bauer
  • Oliver Ciupke
  • Serge Demeyer
  • Stéphane Ducasse
  • Michele Lanza
  • Radu Marinescu
  • Robb Nebbe
  • Oscar Nierstrasz
  • Michael Przybilski
  • Tamar Richner
  • Matthias Rieger
  • Claudio Riva
  • Anne-Marie Sassen
  • Benedikt Schulz
  • Patrick Steyaert
  • Sander Tichelaar
  • Joachim Weisbrod
چکیده

insert() abstract delete() abstract lookup() abstract forall() HashSet ... ListSet ... Set impl insert() delete() lookup() forall() deleteAll() union() constructor() changeImpl() SetImpl abstract insert() abstract delete() abstract lookup() abstract forall() abstract changeImpl() constructor (type subtypeSetImpl) { impl = new type ; }insert() abstract delete() abstract lookup() abstract forall() abstract changeImpl() constructor (type subtypeSetImpl) { impl = new type ; } changeImpl (type subtypeSetImpl) { impl.changeImpl(type) ; } HashSet ... changeImpl() {...} ListSet ... changeImpl() {...} 3c 3b Figure 2.52: Application of Design Pattern Operator Bridge (II) Set abstract insert() abstract delete() abstract lookup() abstract forall() deleteAll() union() HashSet hashtable htbl insert() {...} delete() {...} lookup() {...} forall() {...} ListSet list lst insert() {...} delete() {...} lookup() {...} forall() {...} 3b AbstractSet SetImpl impl insert() {...} delete() {...} lookup() {...} forall() {...} deleteAll() union() 3c 3aSet SetImpl impl insert() {...} delete() {...} lookup() {...} forall() {...} deleteAll() union() 3c 3a impl.insert(...); ... ... Figure 2.53: Application of a Bridge with refactorings (I)

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Pattern Language for Reverse Engineering Alpha-release of a Part of Forthcoming Book "object-oriented Reengineering, a Pattern-based Approach"

Since object-oriented programming is usually associated with iterative development, reverse engineering must be considered an essential facet of the object-oriented paradigm. The reverse engineering pattern language presented here summarises the reverse engineering experience gathered as part of the FAMOOS project, a project with the explicit goal of investigating reverse and reengineering tech...

متن کامل

An Exchange Model for Reengineering Tools

Tools support is recognised as a key issue in the reengineering of large scale object-oriented systems. However, due to the heterogeneity in today’s object-oriented programming languages, it is hard to reuse reengineering tools across legacy systems. This paper proposes a language independent exchange model, so that tools may perform their tasks independent of the underlying programming languag...

متن کامل

CDIF as the Interchange Format between Reengineering Tools

Tool support is recognised as a key issue in the reengineering of large scale object-oriented systems. However, due to the heterogeneity in today’s object-oriented programming languages, it is hard to reuse reengineering tools across legacy systems. This paper proposes a language independent exchange model, so that tools may perform their tasks independent of the underlying programming language...

متن کامل

A Pattern Language for Reverse Engineering1

Since object-oriented programming is usually associated with iterative development, reverse engineering must be considered an essential facet of the object-oriented paradigm. The reverse engineering pattern language presented here summarises the reverse engineering experience gathered as part of the FAMOOS project, a project with the explicit goal of investigating reverse and reengineering tech...

متن کامل

MOOSE: an Extensible Language-Independent Environment for Reengineering Object-Oriented Systems

Surprising as it may seem, many of the early adopters of the object-oriented paradigm already face a number of problems typically encountered in large-scale legacy systems. The reengineering of those systems often poses problems because of the considerable size and complexity of such systems. In the context of the FAMOOS project we have developed a language independent environment called Moose ...

متن کامل

Transform Condit ionals to Polymorphism1

Conditionals —i.e., switch statements, nested ifs— that are used to simulate polymorphism hamper evolution and flexibility of applications. The reengineering patterns presented in this paper show you how to transform conditionals in object-oriented code to improve the flexibility of application. This work has been funded by the Swiss Government under Project no. NFS-2000-46947.96 and BBW-96.001...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999